Is Coverage a Good Measure of Testing Effectiveness? An Assessment Using Branch Coverage and Random Testing
نویسندگان
چکیده
Most approaches to testing use branch coverage to decide on the quality of a given test suite. The intuition is that covering branches relates directly to uncovering faults. In this article we present an empirical study that applied random testing to 14 Eiffel classes for a total of 2520 hours and recorded the number of uncovered faults and the branch coverage over time. Our results show that: (1) in the tested classes, random testing reaches 93% branch coverage (2) it exercises almost the same set of branches every time, (3) it detects different faults from time to time, (4) during the first 10 minutes of testing while branch coverage increases rapidly, there is a strong correlation between branch coverage and the number of uncovered faults, (5) over 50% of the faults are detected at a time where branch coverage hardly changes and the correlation between branch coverage and the number of uncovered faults is weak. These results provide evidence that branch coverage is not a good stopping criterion for random testing. They also show that branch coverage is not a good indicator for the effectiveness of a test suite.
منابع مشابه
Is Branch Coverage a Good Measure of Testing Effectiveness?
Most approaches to testing use branch coverage to decide on the quality of a given test suite. The intuition is that covering branches relates directly to uncovering faults. The empirical study reported here applied random testing to 14 Eiffel classes for a total of 2520 hours and recorded the number of uncovered faults and the branch coverage over time. For the tested classes, (1) random testi...
متن کاملMinimal Test Case Generation for Effective Program Test using Control Structure Methods and Test Effectiveness Ratio
Software testing is the critical activity in any industrial–strength software development process. As the software grows in size, its complexity increases and testing becomes more difficult. Hence generating test cases manually produces more errors and affects overall system quality. In this paper, we have proposed a tool for automatic generation of test cases using the control structure method...
متن کاملLook up Table Based Low Power Analog Circuit Testing
In this paper, a method of low power analog testing is proposed. In spite of having Oscillation Based Built in Self-Test methodology (OBIST), a look up table based (LUT) low power testing approach has been proposed to find out the faulty circuit and also to sort out the particular fault location in the circuit. In this paper an operational amplifier, which is the basic building block in the ana...
متن کاملAchieving the Quality of Verification for Behavioral Models with Minimum Effort
When designing a system in the behavioral level, one of the most important steps to be taken is verifying its functionality before it is released to the logic/PD design phase. One may consider behavioral models as oracles in industries to test against when the final chip is produced. In this work, we use branch coverage as a measure for the quality of verifying/testing behavioral models. Minimu...
متن کاملDependence-Guided Random Test Generation
Random test generation is a promising and easy-to-use automatic test generation technique. However, it still faces challenges to be effective in practice. A poorly-understood but important factor in random testing is the selection of test candidates such as method-call sequences (in short, sequences) in testing object-oriented programs. Automatic generation of good sequences is challenging due ...
متن کامل